# AchievementManager.incrementAchievement(Object option)

以 Promise 风格调用:不支持

# 功能描述

增加指定成就的进度。适用于需要累计完成多个步骤才能解锁的成就。当进度达到成就设定的目标值时,成就将自动解锁。

# 参数

# Object option

属性类型默认值必填说明
achievementIdstring要增加进度的成就ID
stepsnumber要增加的步数

# 注意事项

  • 成就ID必须是在TapTap开发者平台配置为进度型成就的有效ID
  • steps 必须为正整数
  • 如果成就已经解锁,调用此方法不会有任何效果
  • 进度会自动累加,无需记录当前进度
  • 当累计进度达到成就目标值时,成就会自动解锁

# 示例代码

const achievementManager = tap.createAchievementManager({
  toastEnable: true
});

// 注册监听器以接收进度更新结果
achievementManager.registerListener({
  onAchievementSuccess: (code, achievement) => {
    console.log('成就进度更新成功!');
    console.log('成就名称:', achievement.achievementName);
    if (achievement.currentStep !== undefined) {
      console.log('当前进度:', achievement.currentStep);
    }
  },
  onAchievementFailure: (id, code, msg) => {
    console.error('成就进度更新失败:', msg);
  }
});

// 增加成就进度
// 例如:玩家完成了一场比赛,"完成100场比赛"成就进度+1
achievementManager.incrementAchievement({
  achievementId: 'play_100_games',
  steps: 1
});

// 批量增加进度
// 例如:玩家一次性收集了5个道具
achievementManager.incrementAchievement({
  achievementId: 'collect_50_items',
  steps: 5
});